/*
 * Code for blog.techhead.biz
 * Distributed under BSD-style license
 */

package biz.techhead.funcy;

/**
 * This interface is merely provided as a convenience to prevent the
 * redundant typing of {@code FuncE<O,I,RuntimeException>}.
 *
 * <p>However, for a public method signature, an input type of
 * {@code FuncE<O,I,RuntimeException>} is still preferred over
 * {@code Func<O,I>} in most cases. The exception is when it is desirable
 * to have an overloaded method that differentiates based on whether or not
 * the function throws a checked exception and the method signatures would
 * otherwise have the same type erasure.
 *
 * @param <O> The output type of the function
 * @param <I> The input type of the function
 *
 * @see FuncE
 * @see Funcs
 * @see SugarFunc
 *
 * @author Jonathan Hawkes <jhawkes at techhead.biz>
 */
public interface Func<O,I>
        extends FuncE<O,I,RuntimeException> {

}
